<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>Reference</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>Duplex</h1>

<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
<li><a href="#Tables">Tables</a></li>
</ul>


<h2>Modules</h2>
<ul class="$(kind=='Topics' and '' or 'nowrap'">
  <li><a href="../modules/Duplex.Application.html">Duplex.Application</a></li>
  <li><a href="../modules/Duplex.Applications.Effect.html">Duplex.Applications.Effect</a></li>
  <li><a href="../modules/Duplex.Applications.GridPie.html">Duplex.Applications.GridPie</a></li>
  <li><a href="../modules/Duplex.Applications.Hydra.html">Duplex.Applications.Hydra</a></li>
  <li><a href="../modules/Duplex.Applications.Instrument.html">Duplex.Applications.Instrument</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.GridLayout.html">Duplex.Applications.Keyboard.GridLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.HarmonicLayout.html">Duplex.Applications.Keyboard.Layouts.HarmonicLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.IsomorphicLayout.html">Duplex.Applications.Keyboard.Layouts.IsomorphicLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.Layouts.PianoLayout.html">Duplex.Applications.Keyboard.Layouts.PianoLayout</a></li>
  <li><a href="../modules/Duplex.Applications.Keyboard.html">Duplex.Applications.Keyboard</a></li>
  <li><a href="../modules/Duplex.Applications.Matrix.html">Duplex.Applications.Matrix</a></li>
  <li><a href="../modules/Duplex.Applications.Metronome.html">Duplex.Applications.Metronome</a></li>
  <li><a href="../modules/Duplex.Applications.MidiActions.Bindings.html">Duplex.Applications.MidiActions.Bindings</a></li>
  <li><a href="../modules/Duplex.Applications.MidiActions.html">Duplex.Applications.MidiActions</a></li>
  <li><a href="../modules/Duplex.Applications.Mixer.html">Duplex.Applications.Mixer</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_group.html">Duplex.Applications.Mlrx.Mlrx_group</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_note.html">Duplex.Applications.Mlrx.Mlrx_note</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_pos.html">Duplex.Applications.Mlrx.Mlrx_pos</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.Mlrx_track.html">Duplex.Applications.Mlrx.Mlrx_track</a></li>
  <li><a href="../modules/Duplex.Applications.Mlrx.html">Duplex.Applications.Mlrx</a></li>
  <li><a href="../modules/Duplex.Applications.Navigator.html">Duplex.Applications.Navigator</a></li>
  <li><a href="../modules/Duplex.Applications.NotesOnWheels.html">Duplex.Applications.NotesOnWheels</a></li>
  <li><a href="../modules/Duplex.Applications.PatternCursor.html">Duplex.Applications.PatternCursor</a></li>
  <li><a href="../modules/Duplex.Applications.PatternSequence.html">Duplex.Applications.PatternSequence</a></li>
  <li><a href="../modules/Duplex.Applications.Recorder.html">Duplex.Applications.Recorder</a></li>
  <li><a href="../modules/Duplex.Applications.Repeater.html">Duplex.Applications.Repeater</a></li>
  <li><a href="../modules/Duplex.Applications.Rotate.html">Duplex.Applications.Rotate</a></li>
  <li><a href="../modules/Duplex.Applications.StepSequencer.html">Duplex.Applications.StepSequencer</a></li>
  <li><a href="../modules/Duplex.Applications.SwitchConfiguration.html">Duplex.Applications.SwitchConfiguration</a></li>
  <li><a href="../modules/Duplex.Applications.TestPad.html">Duplex.Applications.TestPad</a></li>
  <li><a href="../modules/Duplex.Applications.TrackSelector.html">Duplex.Applications.TrackSelector</a></li>
  <li><strong>Duplex.Applications.Transport</strong></li>
  <li><a href="../modules/Duplex.Applications.UIButtonTest.html">Duplex.Applications.UIButtonTest</a></li>
  <li><a href="../modules/Duplex.Applications.XYPad.html">Duplex.Applications.XYPad</a></li>
  <li><a href="../modules/Duplex.Automation.html">Duplex.Automation</a></li>
  <li><a href="../modules/Duplex.Browser.html">Duplex.Browser</a></li>
  <li><a href="../modules/Duplex.BrowserProcess.html">Duplex.BrowserProcess</a></li>
  <li><a href="../modules/Duplex.Canvas.html">Duplex.Canvas</a></li>
  <li><a href="../modules/Duplex.CanvasPoint.html">Duplex.CanvasPoint</a></li>
  <li><a href="../modules/Duplex.ControlMap.html">Duplex.ControlMap</a></li>
  <li><a href="../modules/Duplex.Device.html">Duplex.Device</a></li>
  <li><a href="../modules/Duplex.Display.html">Duplex.Display</a></li>
  <li><a href="../modules/Duplex.Globals.html">Duplex.Globals</a></li>
  <li><a href="../modules/Duplex.Message.html">Duplex.Message</a></li>
  <li><a href="../modules/Duplex.MessageStream.html">Duplex.MessageStream</a></li>
  <li><a href="../modules/Duplex.MidiDevice.html">Duplex.MidiDevice</a></li>
  <li><a href="../modules/Duplex.OscClient.html">Duplex.OscClient</a></li>
  <li><a href="../modules/Duplex.OscDevice.html">Duplex.OscDevice</a></li>
  <li><a href="../modules/Duplex.OscVoiceMgr.html">Duplex.OscVoiceMgr</a></li>
  <li><a href="../modules/Duplex.Preferences.html">Duplex.Preferences</a></li>
  <li><a href="../modules/Duplex.ProcessSlicer.html">Duplex.ProcessSlicer</a></li>
  <li><a href="../modules/Duplex.RoamingDSP.html">Duplex.RoamingDSP</a></li>
  <li><a href="../modules/Duplex.Scheduler.html">Duplex.Scheduler</a></li>
  <li><a href="../modules/Duplex.StateController.html">Duplex.StateController</a></li>
  <li><a href="../modules/Duplex.UIButton.html">Duplex.UIButton</a></li>
  <li><a href="../modules/Duplex.UIButtonStrip.html">Duplex.UIButtonStrip</a></li>
  <li><a href="../modules/Duplex.UIComponent.html">Duplex.UIComponent</a></li>
  <li><a href="../modules/Duplex.UIKey.html">Duplex.UIKey</a></li>
  <li><a href="../modules/Duplex.UIKeyPressure.html">Duplex.UIKeyPressure</a></li>
  <li><a href="../modules/Duplex.UILabel.html">Duplex.UILabel</a></li>
  <li><a href="../modules/Duplex.UIPad.html">Duplex.UIPad</a></li>
  <li><a href="../modules/Duplex.UIPitchBend.html">Duplex.UIPitchBend</a></li>
  <li><a href="../modules/Duplex.UISlider.html">Duplex.UISlider</a></li>
  <li><a href="../modules/Duplex.UISpinner.html">Duplex.UISpinner</a></li>
  <li><a href="../modules/Duplex.WidgetHooks.html">Duplex.WidgetHooks</a></li>
  <li><a href="../modules/Duplex.WidgetKeyboard.html">Duplex.WidgetKeyboard</a></li>
  <li><a href="../modules/Duplex.html">Duplex</a></li>
  <li><a href="../modules/main.html">main</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>Duplex.Applications.Transport</code></h1>
<p>The Transport application offers transport controls for Renoise.</p>
<p>

<p>Inheritance: <a href="../modules/Duplex.Application.html#">Duplex.Application</a> > Duplex.Application.Transport</p>

<pre><code> _______ _______ ______ ______ ______ ______ ________ _______
|       |       |      |      |      |      |        |       |
|  |◄   |   ►   |  ►|  | ∞/═  |  ■   |  ●   |   ↓    |   ∆   |
| Prev  | Play  | Next | Loop | Stop | Edit | Follow | Metro |
|_______|_______|______|______|______|______|________|_______|
 _______________ ______ ______ ______
|               |      |      |      |
|   01:04.25    |  +   | 95.2 |  -   |
|  Song playpos | BPM  | BPM  | BPM  |
|_______________|______|______|______|
</code></pre>


<h3>Changes</h3>

<p>  0.98  </p>
<pre><code>- New mapping: "metronome_toggle", minor optimizations
</code></pre>
<p>  0.96  </p>
<pre><code>- Fixed: Option "pattern_switch" didn't switch instantly
</code></pre>
<p>  0.92  </p>
<pre><code>- New option: "stop playback" (playback toggle button)
</code></pre>
<p>  0.91  </p>
<pre><code>- Fixed: always turn off "start" when hitting "stop"
</code></pre>
<p>  0.90  </p>
<pre><code>- Follow player option
</code></pre>
<p>  0.81  </p>
<pre><code>- First release
</code></pre>

</p>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#__init">__init (VarArg)</a></td>
	<td class="summary">Constructor method</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#start_app">start_app ()</a></td>
	<td class="summary">inherited from Application</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#on_idle">on_idle ()</a></td>
	<td class="summary">periodic updates: check if any of the "un-observable"
 properties have changed (block loop and schedule pattern)</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_scheduled_buttons">update_scheduled_buttons ()</a></td>
	<td class="summary">control periodic blinking by the playback line number</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#clear_schedule">clear_schedule ()</a></td>
	<td class="summary">set the schedule buttons to default state, and tell the application that
 no pattern has been scheduled (note that if the current pattern has been
 scheduled, it is not considered as we can't access the schedule list)</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#on_new_document">on_new_document ()</a></td>
	<td class="summary">inherited from Application</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_attach_to_song">_attach_to_song ()</a></td>
	<td class="summary">add notifiers to song, initialize certain properties</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_bpm_display">update_bpm_display ()</a></td>
	<td class="summary">Update display of the BPM</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_metronome_enabled">update_metronome_enabled ()</a></td>
	<td class="summary">Update display of the metronome</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_follow_player">update_follow_player ()</a></td>
	<td class="summary">Update display of play-follow</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_playing">update_playing ()</a></td>
	<td class="summary">Update display of the play button</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_loop_pattern">update_loop_pattern ()</a></td>
	<td class="summary">Update display of the loop button</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_edit_mode">update_edit_mode ()</a></td>
	<td class="summary">Update display of the edit-mode button</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#update_block_loop">update_block_loop ()</a></td>
	<td class="summary">Update display of the block-loop button</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_build_app">_build_app ()</a></td>
	<td class="summary">inherited from Application</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_start_playback">_start_playback ()</a></td>
	<td class="summary">when "play" button is pressed</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_stop_playback">_stop_playback ()</a></td>
	<td class="summary">when "stop" button is pressed</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_next">_next ()</a></td>
	<td class="summary">when "next" button is pressed</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_previous">_previous ()</a></td>
	<td class="summary">when "previous" button is pressed</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_schedule_pattern">_schedule_pattern (idx, button)</a></td>
	<td class="summary">schedule the provided pattern index</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_retrigger_pattern">_retrigger_pattern ()</a></td>
	<td class="summary">re-trigger the current pattern</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_reschedule_pattern">_reschedule_pattern ()</a></td>
	<td class="summary">re-schedule the current pattern</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_switch_to_seq_index">_switch_to_seq_index (seq_index)</a></td>
	<td class="summary">instantly switch to specified sequence index
 if the line in the target pattern does not exist,start from the beginning</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#_jump_to_beginning">_jump_to_beginning ()</a></td>
	<td class="summary">jump to beginning of song</td>
	</tr>
</table>
<h2><a href="#Tables">Tables</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#default_options">default_options</a></td>
	<td class="summary">These are the default options for the application</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#available_mappings">available_mappings</a></td>
	<td class="summary">These are the available mappings for the application</td>
	</tr>
</table>

<br/>
<br/>


    <h2><a name="Functions"></a>Functions</h2>
    <dl class="function">
    <dt>
    <a name = "__init"></a>
    <strong>__init (VarArg)</strong>
    </dt>
    <dd>
    Constructor method


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">VarArg</span>
        )
        </li>
    </ul>



    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#">Duplex.Application</a>
    </ul>


</dd>
    <dt>
    <a name = "start_app"></a>
    <strong>start_app ()</strong>
    </dt>
    <dd>
    inherited from Application



    <h3>Returns:</h3>
    <ol>

        bool or nil
    </ol>


    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#start_app">Duplex.Application.start_app</a>
    </ul>


</dd>
    <dt>
    <a name = "on_idle"></a>
    <strong>on_idle ()</strong>
    </dt>
    <dd>
    periodic updates: check if any of the "un-observable"
 properties have changed (block loop and schedule pattern)







</dd>
    <dt>
    <a name = "update_scheduled_buttons"></a>
    <strong>update_scheduled_buttons ()</strong>
    </dt>
    <dd>
    control periodic blinking by the playback line number







</dd>
    <dt>
    <a name = "clear_schedule"></a>
    <strong>clear_schedule ()</strong>
    </dt>
    <dd>
    set the schedule buttons to default state, and tell the application that
 no pattern has been scheduled (note that if the current pattern has been
 scheduled, it is not considered as we can't access the schedule list)







</dd>
    <dt>
    <a name = "on_new_document"></a>
    <strong>on_new_document ()</strong>
    </dt>
    <dd>
    inherited from Application





    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#on_new_document">Duplex.Application.on_new_document</a>
    </ul>


</dd>
    <dt>
    <a name = "_attach_to_song"></a>
    <strong>_attach_to_song ()</strong>
    </dt>
    <dd>
    add notifiers to song, initialize certain properties







</dd>
    <dt>
    <a name = "update_bpm_display"></a>
    <strong>update_bpm_display ()</strong>
    </dt>
    <dd>
    Update display of the BPM







</dd>
    <dt>
    <a name = "update_metronome_enabled"></a>
    <strong>update_metronome_enabled ()</strong>
    </dt>
    <dd>
    Update display of the metronome







</dd>
    <dt>
    <a name = "update_follow_player"></a>
    <strong>update_follow_player ()</strong>
    </dt>
    <dd>
    Update display of play-follow







</dd>
    <dt>
    <a name = "update_playing"></a>
    <strong>update_playing ()</strong>
    </dt>
    <dd>
    Update display of the play button







</dd>
    <dt>
    <a name = "update_loop_pattern"></a>
    <strong>update_loop_pattern ()</strong>
    </dt>
    <dd>
    Update display of the loop button







</dd>
    <dt>
    <a name = "update_edit_mode"></a>
    <strong>update_edit_mode ()</strong>
    </dt>
    <dd>
    Update display of the edit-mode button







</dd>
    <dt>
    <a name = "update_block_loop"></a>
    <strong>update_block_loop ()</strong>
    </dt>
    <dd>
    Update display of the block-loop button







</dd>
    <dt>
    <a name = "_build_app"></a>
    <strong>_build_app ()</strong>
    </dt>
    <dd>
    inherited from Application



    <h3>Returns:</h3>
    <ol>

        bool
    </ol>


    <h3>See also:</h3>
    <ul>
         <a href="../modules/Duplex.Application.html#_build_app">Duplex.Application._build_app</a>
    </ul>


</dd>
    <dt>
    <a name = "_start_playback"></a>
    <strong>_start_playback ()</strong>
    </dt>
    <dd>
    when "play" button is pressed







</dd>
    <dt>
    <a name = "_stop_playback"></a>
    <strong>_stop_playback ()</strong>
    </dt>
    <dd>
    when "stop" button is pressed







</dd>
    <dt>
    <a name = "_next"></a>
    <strong>_next ()</strong>
    </dt>
    <dd>
    when "next" button is pressed







</dd>
    <dt>
    <a name = "_previous"></a>
    <strong>_previous ()</strong>
    </dt>
    <dd>
    when "previous" button is pressed







</dd>
    <dt>
    <a name = "_schedule_pattern"></a>
    <strong>_schedule_pattern (idx, button)</strong>
    </dt>
    <dd>
    schedule the provided pattern index


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">idx</span>

<ul>
    <li>the pattern to schedule</li>
</ul>

        </li>
        <li><span class="parameter">button</span>
         UIButton, the pressed button (next or previous)
        </li>
    </ul>





</dd>
    <dt>
    <a name = "_retrigger_pattern"></a>
    <strong>_retrigger_pattern ()</strong>
    </dt>
    <dd>
    re-trigger the current pattern







</dd>
    <dt>
    <a name = "_reschedule_pattern"></a>
    <strong>_reschedule_pattern ()</strong>
    </dt>
    <dd>
    re-schedule the current pattern







</dd>
    <dt>
    <a name = "_switch_to_seq_index"></a>
    <strong>_switch_to_seq_index (seq_index)</strong>
    </dt>
    <dd>
    instantly switch to specified sequence index
 if the line in the target pattern does not exist,start from the beginning


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">seq_index</span>



        </li>
    </ul>





</dd>
    <dt>
    <a name = "_jump_to_beginning"></a>
    <strong>_jump_to_beginning ()</strong>
    </dt>
    <dd>
    jump to beginning of song







</dd>
</dl>
    <h2><a name="Tables"></a>Tables</h2>
    <dl class="function">
    <dt>
    <a name = "default_options"></a>
    <strong>default_options</strong>
    </dt>
    <dd>
    These are the default options for the application


    <h3>Fields:</h3>
    <ul>
        <li><span class="parameter">pattern_switch</span>
         Choose how next/previous buttons will work
        </li>
        <li><span class="parameter">pattern_play</span>
         When play is pressed, choose an action
        </li>
        <li><span class="parameter">pattern_stop</span>
         When stop is pressed <em>twice</em>, choose an action
        </li>
        <li><span class="parameter">jump_mode</span>
         Choose between standard pattern or hybrid pattern/block-loop control
        </li>
    </ul>





</dd>
    <dt>
    <a name = "available_mappings"></a>
    <strong>available_mappings</strong>
    </dt>
    <dd>
    These are the available mappings for the application


    <h3>Fields:</h3>
    <ul>
        <li><span class="parameter">stop_playback</span>



        </li>
    </ul>





</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.2</a></i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>
